package dbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
 




 
//数据库连接类，用于提供数据库的连接和关闭操作
public class DBConnection {
    //(2)配置数据库连接参数
        /*String url = "连接数据库的类型：连接类型：数据库主机地址：端口号：用户数据库名称 " +
                "？ 参数";*/
    String url = "jdbc:mysql://localhost:3306/bankdb"
            + "?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&useSSL=false";
    String pwd = "Zx123456";
    String username = "root";
    String drivername = "com.mysql.jdbc.Driver";

    /**
     * 根据DBConnection中定义的数据库连接参数，建立一个数据库连接，并返回连接对象
     */
    public Connection getConnection() throws Exception {
        //(1)加载驱动程序
        Class.forName(drivername).newInstance();

        //(3)连接数据库，并返回一个connection连接对象
        Connection con = DriverManager.getConnection(url, username, pwd);
        System.out.println("数据库连接成功");

        return con;//返回一个可用的连接对象
    }


    //***********************************************
    /**
     * 数据库关闭方法
     *参数中提供Connection,Statement,ResultSet对象
     * @param con                                         :需要关闭的数据库连接对象
     * @param stmt：需要关闭的数据库语句执行对象，此处类型为所有语句对象的基类Statement
     * @param rs:需要关闭的结果集对象
     */
    public void closeConnection(Connection con, Statement stmt, ResultSet rs) {
        try {
            if (rs != null) rs.close();
            if (stmt != null) stmt.close();
            if (con != null) con.close();

        } catch (Exception e) {
            e.printStackTrace();//打印由系统提供的异常信息
            System.out.println("数据库连接关闭操作失败");
        }
    }
}
